import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import { viteMockServe } from 'vite-plugin-mock'
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import postcssPxToRem from 'postcss-pxtorem'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),
    viteMockServe({
      mockPath: './src/mock'
    })
  ],

  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  server: {
    proxy: {
      '/api': {
        //egg后端
        target: 'http://127.0.0.1:7001 ',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      },
      '/codeapi': {
        //egg后端1
        target: 'http://localhost:9000 ',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/codeapi/, '')
      },
      '/ctapi': {
        //抠图后端1
        target: 'http://localhost:9090 ',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/ctapi/, '')
      }
    }
  },

  //     //适配pc端      "postcss-pxtorem": "^6.1.0",    "amfe-flexible": "^2.2.1",
  // css: {
  //    postcss: {
  //         plugins: [
  //           require("postcss-pxtorem")({
  //             rootValue: 192, //根元素字体大小 根据设计的宽度的，我的ui图是1920*1080的
  //             propList: ["*"], //可以从px转换为rem的属性，匹配正则
  //             // unitPrecision:5, //允许rem单位增长的十进制数字 保留的小数位数
  //             // replace:true, //替换包含rems的规则，而不添加后备
  //             // mediaQuery:false, //允许在媒体查询中转换px
  //             // minPixelValue:0, //设置要替换的最小像素值
  //             // selectorBlackList:[], //忽略转换正则匹配项
  //             // exclude:/node_modules/i  要忽略并保留为px的文件路径
  //           }),
  //         ],
  //       },
  // }

  css: {
    postcss: {
      plugins: [
        postcssPxToRem({
          rootValue: 192, // 同上
          propList: ['*'] // 同上
        })
      ]
    }
  }
})
